package com.ttj.mapper.oracle;

import java.util.List;
import java.util.Map;

import com.ttj.domain.oracle.OrderRec;
import com.ttj.mapper.oracle.gen.SuperOrderRecMapper;
import com.ttj.vo.OrderRecVo;

public interface OrderRecMapper extends SuperOrderRecMapper {
	/**
	 * 获取id、orderId
	 * @return
	 */
	OrderRec getId();

	/**
	 * 未查看数量
	 * @param rperson
	 * @return
	 */
	int unCheck(String rperson);

	/**
	 * 已回复
	 * @param rperson
	 * @return
	 */
	int replyed(String rperson);

	/**
	 * 呼叫次数
	 * @param map
	 * @return
	 */
	int callCount(Map<String, Object> map);

	/**
	 * 回收次数
	 * @param map
	 * @return
	 */
	int recycleCount(Map<String, Object> map);

	/**
	 * 绿色存款
	 * @param map
	 * @return
	 */
	double deposit(Map<String, Object> map);

	/**
	 * 现金
	 * @param map
	 * @return
	 */
	double cash(Map<String, Object> map);

	/**
	 *  回收量(公斤)
	 * @param map
	 * @return
	 */
	double recycleNum1(Map<String, Object> map);

	/**
	 *  回收量(个)
	 * @param map
	 * @return
	 */
	int recycleNum2(Map<String, Object> map);

	/**
	 * 撤销次数
	 * @param map
	 * @return
	 */
	int repeal(Map<String, Object> map);

	/**
	 * 新注册数
	 * @param map
	 * @return
	 */
	int newUsers(Map<String, Object> map);

	/**
	 * 好评数
	 * @param map
	 * @return
	 */
	int goodEvaluateNum(Map<String, Object> map);

	/**
	 * 差评数
	 * @param map
	 * @return
	 */
	int badEvaluateNum(Map<String, Object> map);

	/**
	 * 回收订单列表
	 * @param map
	 * @return
	 */
	List<OrderRec> orderRecList(Map<String, Object> map);

	/**
	 * 计数
	 * @param map
	 * @return
	 */
	int orderRecListCount(Map<String, Object> map);

	/**
	 * 查询当前月已完成回收订单
	 * @param rperson
	 * @return
	 */
	List<OrderRec> orderRecListCompleted(String rperson);

	/**
	 * 订单详情
	 * @param orderId
	 * @return
	 */
	List<OrderRecVo> getOrderRecDetail(Long orderId);

	/**
	 * 订单详细物品清单
	 * @param orderId
	 * @return
	 */
	List<OrderRecVo> getOrderRecDetailList(Long orderId);

	/**
	 * 回复 
	 * @param map
	 * @return
	 */
	int reply(Map<String, Object> map);

	/**
	 * 超时回复 
	 * @param map
	 * @return
	 */
	List<OrderRec> timeOutReply(Map<String, Object> map);

	/**
	 * 超时完成
	 * @param map
	 * @return
	 */
	List<OrderRec> timeOutFinish(Map<String, Object> map);

	/**
	 * 回收明细
	 * @param map
	 * @return
	 */
	List<OrderRec> recycleDetail(Map<String, Object> map);

	/**
	 * 订单集合
	 * @param begin
	 * @return
	 */
	List<OrderRec> getOrderIds(String begin);

	/**
	 * 手持创建回收订单
	 * @param rec
	 * @return
	 */
	int createRec(OrderRec rec);

	/**
	 * 回收完成订单
	 * @param rec
	 * @return
	 */
	int updateRec(OrderRec rec);

	List<OrderRec> getByOrderId(String orderId);

	List<OrderRec> getCustomerByOrderIds(String orderIds);

	int recieveMsg(Map<String, Object> map);// 服务组客服提醒未回复详情页收到按钮

	int countServiceRecTimes(Map<String, Object> map);// 服务组工作日志统计回收次数

	int SumServiceRecMoney(Map<String, Object> map);// 服务组工作日志统计回收金额

	int SumServiceTotalRecMoney(Map<String, Object> map);// 服务组工作日志统计回收总金额

	int findMaxId();// 查询最大id用于创建回收单

	long findMaxOrderId();// 查询最大order_id用于创建回收单

	int createOrderRec(OrderRec orderRec);// 创建回收订单

	int checkCompanyBackstageOrderRec(OrderRec orderRec);// 完成后台创建的回收订单

	double countServiceRecDeposit(Map<String, Object> map);// 服务组工作日志统计绿色存款
}